home *** CD-ROM | disk | FTP | other *** search
/ PsL Monthly 1993 December / PSL Monthly Shareware CD-ROM (December 1993).iso / prgmming / dos / pascal / vgapal.exe / VPALDEMO.PAS < prev   
Pascal/Delphi Source File  |  1993-01-21  |  3KB  |  128 lines

  1. Program VpalDemo;
  2.  
  3. Uses
  4.   Dos, Crt, Graph, VGApal;
  5.  
  6. Var
  7.   AutoDetectPointer : Pointer;
  8.   BPointer          : Pointer;
  9.   GraphDriver, Mode : Integer;
  10.   ErrorCode         : Integer;
  11.   X,Y               : Integer;
  12.   Size              : Word;
  13.  
  14. {$F+}
  15. Function DetectVGA256 : integer;
  16. var
  17.   DetectedDriver : integer;
  18.   SuggestedMode  : integer;
  19. begin
  20.   DetectGraph(DetectedDriver, SuggestedMode);
  21.   if (DetectedDriver = VGA) or (DetectedDriver = MCGA) then
  22.     DetectVGA256 := 0
  23.   else
  24.     DetectVGA256 := grError;
  25. end;
  26. {$F-}
  27.  
  28. Begin
  29.   ClrScr;
  30.   DirectVideo := false;
  31.   AutoDetectPointer := @DetectVGA256;
  32.   GraphDriver := InstallUserDriver('VGA256', AutoDetectPointer);
  33.     begin
  34.       AutoDetectPointer := @DetectVGA256;
  35.       GraphDriver := InstallUserDriver('VGA256',AutoDetectPointer);
  36.     end;
  37.     GraphDriver := Detect;
  38.     InitGraph(GraphDriver, Mode,'C:\TP\VGA256');
  39.  
  40.   Size := ImageSize(0,0,199,7);
  41.   GetMem(BPointer,Size);
  42.   SetPalBlack;
  43.   Read256PCX('FROGMEAT.PCX');
  44.   GetImage(119,170,318,177,BPointer^);
  45.   OutTextXY(119,170,'Fade in from black...');
  46.   FadeInPalBlack(15);
  47.   SavePal;
  48.   Delay(3000);
  49.   PutImage(119,170,BPointer^,NormalPut);
  50.   OutTextXY(119,170,'...and out to white! ');
  51.   FadeOutPalWhite(99);
  52.   PutImage(119,170,BPointer^,NormalPut);
  53.   OutTextXY(119,170,'Fade back from white!');
  54.   FadeInPalWhite(15);
  55.   Delay(3000);
  56.   PutImage(119,170,BPointer^,NormalPut);
  57.   OutTextXY(119,170,'Fade a color from... ');
  58.   Delay(3000);
  59.   PutImage(119,170,BPointer^,NormalPut);
  60.   OutTextXY(119,170,'... one to another...');
  61.   SaveColorFrom(05);
  62.   FadeColorTo(00,24);
  63.   Delay(3000);
  64.   PutImage(119,170,BPointer^,NormalPut);
  65.   OutTextXY(119,170,'... and back again!  ');
  66.   SColor[0] := 0;
  67.   SColor[1] := 0;
  68.   SColor[2] := 0;
  69.   FadeColorTo(00,24);
  70.   Delay(3000);
  71.   PutImage(119,170,BPointer^,NormalPut);
  72.   OutTextXY(119,170,'Fade out to black... ');
  73.   FadeOutPalBlack(99);
  74.   SetPalBlack;
  75.   Read256PCX('CPANEL.PCX');
  76.   GetImage(119,160,318,167,BPointer^);
  77.   OutTextXY(119,160,'...load a new file!  ');
  78.   FadeInPalBlack(15);
  79.   Delay(3000);
  80.   PutImage(119,160,BPointer^,NormalPut);
  81.   OutTextXY(119,160,'Switch two colors... ');
  82.   SwitchCol(0,12);
  83.   Delay(3000);
  84.   PutImage(119,160,BPointer^,NormalPut);
  85.   OutTextXY(119,160,'...back and forth!   ');
  86.   SwitchCol(0,12);
  87.   Delay(3000);
  88.   PutImage(119,160,BPointer^,NormalPut);
  89.   OutTextXY(119,160,'Scroll palette ahead.');
  90.   For X := 0 To 255 Do
  91.      Begin
  92.      CyclePalAhead;
  93.      End;
  94.   Delay(3000);
  95.   PutImage(119,160,BPointer^,NormalPut);
  96.   OutTextXY(119,160,'Scroll palette back! ');
  97.   For X := 0 To 255 Do
  98.      Begin
  99.      CyclePalBack;
  100.      End;
  101.   Delay(3000);
  102.   PutImage(119,160,BPointer^,NormalPut);
  103.   OutTextXY(119,160,'Scroll parts ahead...');
  104. For Y := 0 To 15 Do
  105.   Begin
  106.   For X := 0 To 15 Do
  107.      Begin
  108.      CycleColAhead(Y*16,Y*16+15);
  109.      End;
  110.   End;
  111.   Delay(3000);
  112.   PutImage(119,160,BPointer^,NormalPut);
  113.   OutTextXY(119,160,'and backwards!       ');
  114. For Y := 0 To 15 Do
  115.   Begin
  116.   For X := 0 To 15 Do
  117.      Begin
  118.      CycleColBack(Y*16,Y*16+15);
  119.      End;
  120.   End;
  121.   PutImage(119,160,BPointer^,NormalPut);
  122.   OutTextXY(119,160,'The End!!!           ');
  123.   Delay(3000);
  124.   FadeOutPalBlack(99);
  125.  
  126.   TextMode(LastMode);
  127. End.
  128.